package com.backend.modules.task.vo;

import com.backend.modules.system.vo.TeacherClassVO;
import com.backend.modules.task.entity.TaskSubmissionFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Data
@Schema(description = "任务信息")
public class TaskVO {
    
    @Schema(description = "任务ID")
    private Long id;
    
    @Schema(description = "任务名称")
    private String name;
    
    @Schema(description = "任务描述")
    private String description;
    
    @Schema(description = "截止时间")
    private LocalDateTime deadline;
    
    @Schema(description = "文件要求")
    private String fileRequirements;
    
    @Schema(description = "提交要求")
    private String submitRequirements;
    
    @Schema(description = "创建时间")
    private LocalDateTime createTime;
    
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
    
    @Schema(description = "班级信息")
    private TeacherClassVO classInfo;
    
    @Schema(description = "提交统计")
    private TaskStatisticsVO statistics;
    
    @Schema(description = "是否已提交")
    private Boolean submitted = false;
    
    @Schema(description = "提交ID")
    private Long submissionId;
    
    @Schema(description = "提交状态")
    private String submissionStatus;
    
    @Schema(description = "提交时间")
    private LocalDateTime submissionTime;

    @Schema(description = "提交说明")
    private String submissionComment;

    @Schema(description = "老师姓名")
    private String teacherName;

    @Schema(description = "提交状态")
    private String submitStatus;
    @Schema(description = "文件 url 列表")
    private List<TaskSubmissionFileVO> files;
} 